.TH std::ranges::common_view::base 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::ranges::common_view::base \- std::ranges::common_view::base

.SH Synopsis
   constexpr V base() const& requires std::copy_constructible<V>; \fB(1)\fP \fI(since C++20)\fP
   constexpr V base() &&;                                         \fB(2)\fP \fI(since C++20)\fP

   Returns a copy of the underlying view.

   1) Copy constructs the result from the underlying view.
   2) Move constructs the result from the underlying view.

.SH Parameters

   \fI(none)\fP

.SH Return value

   A copy of the underlying view.

.SH Example


// Run this code

 #include <iostream>
 #include <ranges>
 #include <string>

 int main()
 {
     std::string str { "C++20" };
     auto view = std::views::common(str);

     std::string copy_of_str = view.base();
     std::cout << "copy of str: [" << copy_of_str << "]\\n";
     std::cout << "view.base(): [" << view.base() << "]\\n";

     std::string move_str = std::move(view.base());
     std::cout << "moved str:   [" << move_str << "]\\n";
     std::cout << "view.base(): [" << view.base() << "]\\n"; // unspecified
 }

.SH Possible output:

 copy of str: [C++20]
 view.base(): [C++20]
 moved str:   [C++20]
 view.base(): []
